package com.asa.math.differential_equation;

import com.asa.hutils.MathHUtils;
import com.asa.hutils.teizheng.Eigenvalue;
import com.asa.hutils.teizheng.structure.Matrix;
import com.asa.numanaly.F;

/**
 * 
 * x' = ax+by+r1(t)
 * y' = cx+dy+r2(t)
 * @author asa
 *	
 *	这个是我第一个来实现的
 *	因为我感觉这个意义比较大，控制论里面的东西
 *	先实现它，用矩阵的方法
 *
 *
 *在此有些问题，我还没能涉及到虚数范围，这是个问题
 *
 *
 */
public class TwoTwo {
	
	/**
	 * 齐次线性
	 * @throws Exception 
	 */
	public static void one() throws Exception {
		
//		double[] data = {
//				-2, 1,
//				-4, 3
//			};
//			Matrix mat = new Matrix(data.length/2, 2, data);
//			Matrix eigenvalues = Eigenvalue.getEigenvalues(mat);
//			
////			eigenvalues.print();
//			
//			double[] getall = eigenvalues.getall();
//			
//			for (int i = 0; i < getall.length; i++) {
//				System.out.println(getall[i]);
//			}
			
			double[][] a = { { -2, -4}, { 1, 3 }};
			double[] juzhengtezhengzhi = MathHUtils.juzhengtezhengzhi(a);
			for (int i = 0; i < juzhengtezhengzhi.length; i++) {
				System.out.println(juzhengtezhengzhi[i]);
			}
			
			double[][] juzhengtezhengxiangliang = MathHUtils.juzhengtezhengxiangliang(a);
			System.out.println();
			for (int i = 0; i < juzhengtezhengxiangliang.length; i++) {
				for (int j = 0; j < juzhengtezhengxiangliang[i].length; j++) {
					System.out.print(juzhengtezhengxiangliang[i][j] + "   ");
				}
				System.out.println();
			}
		
			
			
			
			
			
		
	}
	
	public static void main(String[] args) {
		try {
			one();
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	
	
	
	
	
	
	
	
	
	
	

}
